import java.util.*;

/**
 * @Title: 和为S的两个数字
 * @Author 贾金博
 * @Package PACKAGE_NAME
 * @Date 2024/3/2 20:45
 * @description: 是完全可以去暴力的
 */
/*public class 和为S的两个数字 {
    public int[] findNumbersWithSum(int[] nums, int target) {
//        List<Integer>lis = new ArrayList<>();
        Map<Integer, Integer>mp = new HashMap<>();
        for(int i : nums) {
            if(mp.containsKey(i)) {
                int t = mp.get(i);
                mp.remove(i);
                mp.put(i, t + 1);
            } else {
                mp.put(i, 1);
            }
        }

        int[] ret = new int[2];
        for(int i = 0; i < nums.length; ++ i ) {
            int x = target - nums[i];
           if(mp.containsKey(x)) {
               if(x == nums[i]) {
                   if(mp.get(x) > 1) {
                       ret[0] = ret[1] = x;
                   }
               } else {
                   ret[0] = x;
                   ret[1] = nums[i];
                   break;
               }
           }
        }
        return ret;
    }
} */

//TODO:别人的代码用的是set  而且是先去检验 再去存取

class Solution {
    public int[] findNumbersWithSum(int[] nums, int target) {
        Set<Integer>se = new TreeSet<>();
        for(int i : nums) {
            int x = target - i;
            if(se.contains(x)) {
                return new int[] {x, i};
            }
            se.add(i);
        }
        return new int[] {114514};
    }
}

